﻿using UnityEngine;
using System.Collections;
using System.Text;
using UnityEngine.Profiling;
//显示FPS的组件，用OnGUI新式，不用GUIText,因为那个是过时的
//性能检测器，输出各种信息
public class FPS : MonoBehaviour
{
    float nextTime;
    int frameCount;
    int fps = 0;
    //MemInfo memInfo;
    void Awake()
    {
        Application.targetFrameRate = 120;
    }

    void Start()
    {
        nextTime = Time.realtimeSinceStartup + 1;
        frameCount = 0;
    }

    void Update()
    {
        //memInfo.GetMemoryInfo();
        frameCount++;
        if (Time.realtimeSinceStartup > nextTime)
        {
            fps = frameCount;
            frameCount = 0;
            nextTime = Time.realtimeSinceStartup + 1;
        }
    }

    void OnGUI()
    {
        GUI.color = Color.green;
        string s = "fps:" + fps
            + " mus:" + (Profiler.GetMonoUsedSize() / 1024 / 1024).ToString("000") + "M"
                + " mhs:" + (Profiler.GetMonoHeapSize() / 1024 / 1024).ToString("000") + "M"
                + " uhs:" + (Profiler.usedHeapSize / 1024 / 1024).ToString("000") + "M";
        //+"---"+memInfo.VmRss+"---";

        int w = 300;
        GUI.Label(new Rect(20, 10, w, 40), s);
    }
}
